[T-SQL] 日期區間重疊


Posted by mike-hsieh on 2023-05-09

SQL find duplicate data between two date ranges

最基本的範例如下:

SELECT t1.id    --  取得PK
FROM t t1
LEFT JOIN t t2 ON t1.種類=t2.種類   --  種類相同。 可以加上其他條件,例如: 是否生效...
WHERE t1.id <> t2.id    --  自己不等於自己
    AND (
        (t1.起始時間 < t2.結束時間 AND t1.結束時間 > t2.起始時間) OR    --  A 跟 B 比較
        (t2.起始時間 < t1.結束時間 AND t2.結束時間 > t1.起始時間) OR    --  B 跟 A 比較
        (t1.起始時間 = t2.結束時間 AND t1.結束時間 = t2.起始時間)       --  A 跟 B 完全相同
    )

#data ranges #duplicate #between #日期區間 #重疊







Related Posts

好用的時間套件 moment

好用的時間套件 moment

跨出平面設計,闖蕩前端的轉職之路

跨出平面設計,闖蕩前端的轉職之路

[ Nuxt.js 2.x 系列文章 ] Nuxt.js 套件應用-CKEditor 5

[ Nuxt.js 2.x 系列文章 ] Nuxt.js 套件應用-CKEditor 5


Comments